package cn.hsw.platform.service;

import cn.hsw.platform.core.base.BaseService;
import cn.hsw.platform.dto.MenuDto;
import cn.hsw.platform.model.PermissionModel;
import cn.hsw.platform.vo.PermissionVO;

import java.util.List;

/**
 * 权限service
 * @author 李子木
 * @date 2020-11-04
 */
public interface PermissionService extends BaseService<PermissionModel,Long> {

    /**
     * 通过code查询权限内容
     * @param code 权限code
     * @return 权限实体
     */
    PermissionModel findByCode(String code);

    /**
     * 获取整个权限列表树
     * @return 权限列表
     */
    List<PermissionModel> findByParentPidNull();

    /**
     * 修改方法
     * @param permissionModel 要修改的实体
     * @param permissionVO 传递过来的参数
     */
    void edit(PermissionModel permissionModel, PermissionVO permissionVO);

    /**
     * 根据用户id获取对应的菜单
     * @param userPid 用户主键
     * @return
     */
    MenuDto menu(Long userPid);
}
